Acessar VPS com chave publica em vez de senha.

Este tutoria supõe que já tenha o multipass instalado.

Quando precisamos acessar uma VPS pelo terminal, precisamos usar ssh. Porém, utilizar com senha não é muito seguro. Para deixar isso mais seguro, iremos gerar uma ssh-key que poderemos usar para acessar a VPS sem senha.

Para gerar a ssh-key, podemos rodar o comando abaixo em nossa maquina passando o tipo:

ssh-keygen -t 

Tipos:

Esse comando pode perguntar se deseja usar senha. Se não quiser usar, pressione enter duas vezes. No final seu terminal ira imprimir algo semelhante:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/username/.ssh/id_ed25519
Your public key has been saved in /Users/username/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:<key> username@usernames-MacBook-Air.local
The key's randomart image is: 
+--[ED25519 256]--+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+----[SHA256]-----+

Abra o arquivo criado com extensão .pub e copie o conteúdo para colá-lo na configuração de chaves da VPS. Acesse sua VPS:

multipass shell <vps_name>

Abra para edição o arquivo de permissões usando o seguinte comando:

chmod go-w ~/.ssh/authorized_keys

Agora adicione a chave no final do arquivo utilizando o vim:

vim ~/.ssh/authorized_keys

Depois de salvar e fechar o arquivo reinicie o serviço

sudo service sshd restart

Agora você pode logar na sua VPS usando a chave publica passando o usuário e endereço no formato username@address:

ssh ubuntu@192.168.64.7

Se não souber o endereço, utilize este comando para que o multipass imprima na tela:

multipass list